package trunk.view;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import trunk.control.UsuarioControlador;
import trunk.model.BancoDeClientes;
import trunk.model.BancoDeConvidados;

@SuppressWarnings("serial")
public class ConvidadosPanel extends JPanel{
	private BancoDeConvidados convidados;
	private JTable convidadosTabela;
	private TableModelConvidados model;
    private JButton convidarBotao;
    private JScrollPane jScrollPane2;

	public ConvidadosPanel(UsuarioControlador controlador) {
		setBorder(javax.swing.BorderFactory.createEtchedBorder());

		convidarBotao = new JButton();
        convidarBotao.setText("Convidar outros usuários");
        convidarBotao.addActionListener(controlador);

        convidados = new BancoDeConvidados();
        model = new TableModelConvidados(convidados);
        convidadosTabela = new JTable();
        convidadosTabela.setModel(model);
        jScrollPane2 = new JScrollPane();
        jScrollPane2.setViewportView(convidadosTabela);

        javax.swing.GroupLayout convidadosPanelLayout = new javax.swing.GroupLayout(this);
        setLayout(convidadosPanelLayout);
        convidadosPanelLayout.setHorizontalGroup(
            convidadosPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, convidadosPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(convidadosPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 396, Short.MAX_VALUE)
                    .addComponent(convidarBotao, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 396, Short.MAX_VALUE))
                .addContainerGap())
        );
        convidadosPanelLayout.setVerticalGroup(
            convidadosPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(convidadosPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(convidarBotao)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE)
                .addContainerGap())
        );
	}

	public JTable getConvidadosTabela() {
		return convidadosTabela;
	}

	public JButton getConvidarBotao() {
		return convidarBotao;
	}
	
	public BancoDeConvidados getConvidados(){
		return convidados;
	}
	
	public void setConvidados(BancoDeConvidados convidados){
		this.convidados = convidados;
		model.linhas = convidados.getBancoDeConvidados();
		model.fireTableDataChanged();
	}
}
